<?php

/**
 * FtUsuarioAsistencia form.
 *
 * @package    fisio-ud
 * @subpackage form
 * @author     Johan AR <j3valentin@gmail.com>
 */
class FtUsuarioAsistenciaForm extends BaseFtUsuarioAsistenciaForm {

  public function configure() {
    $this->loadDays();

    $this->widgetSchema['usuario_id'] = new sfWidgetFormInputHidden();

    $this->widgetSchema['sede_id'] = new sfWidgetFormPropelChoice(array('model' => 'Sede'));

    $this->validatorSchema->setPostValidator(
      new sfValidatorPropelUnique(array('model' => 'FtUsuarioAsistencia', 'column' => array('usuario_id', 'dia_id')),array('invalid' => 'Ya tiene asignada una sede para este dia.'))
    );
  }

  public function loadDays() {
    $days = FtUsuarioAsistenciaPeer::getDays();
    
    if (sfContext::getInstance()->getUser()->getProfile()) {
      $FtUsuarioAsistencias = FtUsuarioAsistenciaQuery::create()
              ->filterByUsuarioId(sfContext::getInstance()->getUser()->getProfile()->getId())
                      ->find();
      foreach ($FtUsuarioAsistencias as $FtUsuarioAsistencia)
        unset ($days[$FtUsuarioAsistencia->getDiaId()]);
    }

    $this->widgetSchema['dia_id'] = new sfWidgetFormChoice(array('choices' => $days));

    $this->validatorSchema['dia_id'] = new sfValidatorChoice(
                    array('choices' => array_keys($days)),
                    array('required' => 'Selecciona el dia')
    );
  }

}